package com.hut.oa.model.dao.user;

import java.util.List;

import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;

import com.hut.oa.model.bean.Dept;
import com.hut.oa.model.bean.DeptOffice;

public interface DeptOfficeDao extends CrudRepository<DeptOffice, Long> {
	
	List<DeptOffice> findByDept(Dept dept);//查询指定部门的所有职位
	
	DeptOffice findById(Long id);//根据id查询职位
	
	@Query("from DeptOffice d where (d.leader.id is null or d.leader.id not in(select o.id from DeptOffice o where o.dept=:dept)) and d.dept=:dept")
	List<DeptOffice> findLeader(@Param("dept")Dept dept);//获取该部门领导
	
	List<DeptOffice> findByLeaderAndDept(DeptOffice deptOffice,Dept dept);//通过领导获取直接下属
	
	List<DeptOffice> findByLeaderAndDeptNot(DeptOffice deptOffice,Dept dept);//通过领导获取间接下属
}
